/**
 * @filename:${entityName}Dao ${createTime}
 * @project ${project}  ${version}
 */
package ${daoUrl};


import ${entityUrl}.${entityName};
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**   
 * @Description:(${entityComment}数据访问层)
 * @version: ${version}
 * @author: ${author}
 * 
 */
@Mapper
public interface ${entityName}Dao{

    /**
    *插入所有字段${entityName}
    */
    int insert(${entityName} record);

    /**
    *插入非空字段${entityName}
    *@param record
    */
    int insertSelective(${entityName} record);

    /**
    *批量删除${entityName}，逻辑删除
    */
    int  delete${entityName}ByType(@Param("idList") List<Long> idList,@Param("deleteType") int deleteType);

    /**
    *批量删除${entityName}，物理删除
    */
    int  delete${entityName}Record(@Param("idList") List<Long> idList);

    /**
     *根据${entityName}对象,更新记录,仅更新非空字段
     *@param record
     */
     int updateByPrimaryKeySelective(${entityName} record);

     /**
     *根据${entityName}对象，更新记录
     *@param record
     */
     int updateByPrimaryKey(${entityName} record);


    /**
    *根据id，查询${entityName}对象
    *@param id 记录id
    */
    ${entityName} selectByPrimaryKey(@Param("id") Long id);


    /**
    *根据查询条件，查询${entityName}对象
    *@param record 记录record
    */
    List<${entityName}> selectByPrimaryKeySelective(@Param("record") ${entityName} record);
}